Data stored in a software database may associated in data structures such as software objects, wherein information related to the data may be implicitly provided in the design of the data structure containing the data. A particular data structure design may be identified by a structural indicator, e.g., a type number, within the context of a database, and the data populating a particular instance of a data structure may be stored as a record. The record may include a unique record identifying that is useful in distinguishing the instant record from the other records maintained, or accessible, to a database manager software to which the record is accessible. The record may further include a structural indicator that uniquely identifies the data structure design, e.g., software object, that may be populated by the data of the record to accurately convey information concerning this data. When a type number of a record is corrupted or otherwise incorrect, prior art database manager software typically identifies the instant record as being corrupted and provide limited or no access to the data contained within the record. The data of the record may thereby be effectively lost within the context of the software database.
A software database is a collection of information stored in an information technology system in a systematic way, such that a user may employ a computer to retrieve information from the database. A software program used to manage and query a software database is known as a database management system (hereafter “DBMS”).
In the conventional art, most databases are organized as either a relational database or as an object-oriented database. A relational database (hereafter “RDBS”) stores data in a structure consisting of one or more tables of rows and columns, which are typically interconnected. Each RDBS row corresponds to a record, i.e., a tuple, and each RDBS column correspond to an attribute, i.e., a field, in a record. A Structured Query Language (hereafter “SQL”) is used for data definition, data management, and data access and retrieval from a RDBS.
An object oriented database (hereafter “OODBS”) is based on the object oriented software data model. Instantiating and using an OODBS requires aspects of traditional DBMS, semantic data modeling and object oriented programming languages.
Many public and private enterprises maintain federated databases enabled by information technology infrastructures that support numerous databases. In a federated database system, a client query application can generate a single query to retrieve data matching the query that is distributed across multiple database management systems and then provide the retrieved data to a user as if the retrieved were locally stored. For example, a federated database might include combination of (1.) an object oriented database as marketed by Objectivity, Inc., of Sunnyvale, Calif.; (2.) an IBM DB2 Universal Database™ server (in Linux, UNIX®) marketed by IBM Corporation of Armonk, N.Y.; (3.) WINDOWS™ operating system environments marketed by Microsoft Corporation of Redmond, Wash.; and (4.) multiple data sources to which the client query application sends queries.
Prior art work in the area of object-oriented database management includes U.S. Pat. No. 7,047,425 discloses a scaleable multi-level security method in object oriented open network systems; U.S. Pat. No. 6,807,538 discloses a passenger entertainment system, method and article of manufacture employing object oriented system software; U.S. Pat. No. 6,654,029 discloses a data-base independent, scalable, object-oriented architecture and API for managing digital multimedia assets; U.S. Pat. No. 6,611,898 discloses an object-oriented cache management system and method; U.S. Pat. No. 6,321,358 discloses an object reconstruction on object oriented data storage device; U.S. Pat. No. 6,240,545 discloses a setting instance breakpoints in object oriented computer programs; U.S. Pat. No. 6,181,336 discloses a database-independent, scalable, object-oriented architecture and API for managing digital multimedia assets; U.S. Pat. No. 5,832,069 discloses an object oriented system for modeling telecommunications circuits to estimate the access cost for leasing selected circuits; U.S. Pat. No. 5,664,189 discloses a method and apparatus for providing object-oriented file structuring system on a computer; U.S. Pat. No. 5,568,639 discloses a method and apparatus for providing an object-oriented file structuring system on a computer; and U.S. Pat. No. 5,550,976 discloses a decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication.
More recent prior art work in this area includes US Patent Application Serial No. 20060190478 discloses a method and apparatus for object oriented storage and retrieval of data from a relational database; US Patent Application Serial No. 20060101055 discloses an interactive 3-dimensional object-oriented database information storage/retrieval system; US Patent Application Serial No. 20050187955 discloses a method and apparatus for object-oriented access to a relational database management system (RDBMS) based on any arbitrary predicate; US Patent Application Serial No. 20050165807 discloses a method and system for representing and accessing object-oriented data in a relational database system; US Patent Application Serial No. 20050120080 discloses a method and apparatus for virtual memory mapping and transaction management in an object-oriented database system; US Patent Application Serial No. 20050091223 discloses a method and apparatus for building and maintaining an object-oriented geospatial database; US Patent Application Serial No. 20040244009 discloses an online database for receiver types in object-oriented systems; US Patent Application Serial No. 20040236703 discloses a transaction-based object-oriented multipart database apparatus and method; US Patent Application Serial No. 20040039747 discloses a retrieval device and retrieval method for object-oriented database; US Patent Application Serial No. 20030204514 discloses a method and apparatus for object oriented storage and retrieval of data from a relational database; US Patent Application Serial No. 20030167456 discloses an architecture for building scalable object oriented web database applications; US Patent Application Serial No. 20030061194 discloses an accessing relational database using an object-oriented language; US Patent Application Serial No. 20030033277 discloses a method and apparatus for object-oriented access to a relational database management system (RDBMS) based on any arbitrary predicate; US Patent Application Serial No. 20030023617 discloses an object oriented database interface encapsulation that allows for chronologically overlapping transactions in a multi-threaded environment; US Patent Application Serial No. 20020165865 discloses a data operating device for providing schema with freedom in data operation of object-oriented database; US Patent Application Serial No. 20020161781 discloses a method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database; US Patent Application Serial No. 20020099688 discloses a method and system for handling foreign key update in an object-oriented database environment; US Patent Application Serial No. 20010051948 discloses a method and system for representing and accessing object-oriented data in a relational database system; and US Patent Application Serial No. 20010034822 discloses a method and apparatus for virtual memory mapping and transaction management in an object-oriented database system.
The entire disclosures of each and every patent and patent application mentioned in this present disclosure, to include US Patent Application Serial No.'s 20060190478; 20060101055; 20050187955; 20050165807; 20050120080; 20050091223; 20040244009; 20040236703; 20040039747; 20030204514; 20030167456; 20030061194; 20030033277; 20030023617; 20020165865; 20020161781; 20020099688; 20010051948; and 20010034822; and U.S. Pat. Nos. 7,047,425; 6,807,538; 6,654,029; 6,611,898; 6,321,358; 6,240,545; 6,181,336; 5,832,069; 5,664,189; 5,568,639; and 5,550,976, as noted above, are incorporated herein by reference, in their entirety, and for all purposes.
Loss of access to the data stored in a record of a software database can more than negate the value of maintaining the database. Yet the prior art has failed to offer means and techniques to optimally provide information to a database administrator to help the administrator to assign a structural indication to a data structure when the structural indicator, e.g., an object type number, associated with the instant data structure is corrupted or is possibly corrupted.